package com.un.ebs.order.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.un.ebs.order.enums.OrderStatusEnum;
import com.un.ebs.order.enums.PaymentStatusEnum;
import org.springframework.stereotype.Component;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 2
 * </p>
 *
 * @author liubo
 * @since 2020-05-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Component
@TableName("v_order_ext")
public class OrderExt extends Model<OrderExt> {

    private static final long serialVersionUID = 1L;

    private String id;

    private String code;

    private String traceId;

    private String custId;

    private String custName;

    private String custUserId;

    private String linkman;

    private String linkmanPhone;

    private String linkmanAdd;

    private Boolean submitStatus;

    private Date submitTime;

    private String submitUserId;

    private Boolean acceptStatus;

    private Date acceptTime;

    private String acceptUserId;

    private Boolean deliverStatus;

    private String deliverUserId;

    private Date deliverTime;

    @TableField(fill=FieldFill.INSERT)
    private Date createTime;

    @TableField(fill=FieldFill.INSERT)
    private String createAt;

    private String tenantId;

    @TableLogic
    private Boolean isDelete;

    private Double totalQty;

    private Boolean itemDeliverStatus;

    private Double planMoney;

    private Double realMinMoney;

    private Double realMoney;

    private OrderStatusEnum orderStatus;

    private PaymentStatusEnum paymentStatus;

    private Date planFirstDeliverTime;

    private String submitUserName;

    private String acceptUserName;

    private String deliverUserName;

    @TableField(fill = FieldFill.INSERT)
    private String createAtName;

    @TableField(fill = FieldFill.UPDATE)
    private Date lastModifiedTime;

    private Boolean cancelStatus;

    private Date cancelTime;

    private String cancelUserId;

    private String cancelUserName;

    private String cancelDesc;

    private String remark;

    private Double discountMoney;

    private Double discountValidMoney;

    private Date discountApplyTime;

    private String discountApplyRemark;

    private String discountAuditUserId;

    private String discountAuditUserName;

    private Date discountAuditTime;

    private Boolean discountAuditStatus;

    private String discountAuditRemark;

    private String tagId;

    private String tagName;

    private String defunctTombSkuId;

    private String defunctTombSkuNameAs;

    private String personnelId;

    private String personnelName;

    private Date paymentExpireTime;

    private Date paymentExpireApplyTime;

    private Boolean paymentExpireApplyStatus;

    private String paymentExpireApplyAuditUserId;

    private String paymentExpireApplyAuditUserName;

    private Date paymentExpireApplyAuditTime;

    private Integer expireDay;

    private String expireDefaultDay;

    @Override
    protected Serializable pkVal() {
        return null;
    }

}